The present invention relates to a technique for managing an identification code (hereinafter referred to as “ID code”) of material objects, or in particular to a technique for managing the issue and distribution of an ID code having a message authentication code (MAC).
Various ID codes such as the JAN code have been conventionally used for management of material objects by being assigned to them. Material objects can be individually managed by managing the information on the material objects as related to the ID codes assigned to the material objects.
Convenience stores, for example, use a system in which the manufacturers, the names and prices of commodities are managed as related to the JAN code printed on the package of the commodities, and the commodity information can be referred to by reading the bar code and inputting the JAN code.
Also, in order to assure that the value is right, an error detection code is included in the ID code. It is determined whether the read operation has been normally performed by verifying the error detection code of the ID code read, according to a predetermined calculation process.
Further, the error detection code calculated using a numerical value providing a key has the function of detecting the tampering of an ID code by a person having no knowledge of the key. The error detection code calculated using the key will hereinafter be called the message authentication code.
An ID code having the message authentication code is used in the case where a high security is required for an ID code. For example, persons are individually managed by relating them to the material objects carrying an ID code such as an identification card, or marketable securities such as share certificates and gift coupons are managed with an ID code attached thereto.
The conventional ID code management methods described above have the following problems to be solved.
In the case where the JAN code is used as an material object ID code as in the case of convenience stores described above, the ID codes are distributed by type of material objects because of limiting the number of digits on each ID code. The material objects of the same type, therefore, cannot be individually managed one by one.
An ID code having a greater number of digits than the JAN code is available for individual management. In bar code indication, however, such an ID code can not be used for some material objects due to a limited space.
The JAN code has only the error detection code but not the message authentication code using a key, and therefore an ID code is liable to be forged. In the case where the message authentication code is used with the ID code in order to prevent forgery, different keys are required to be used for each several ID codes for security. In the case where various types of ID code are handled as in convenience stores, it is necessary to prepare keys for verification of the message authentication codes for all the ID codes handled.
A person responsible for managing a given material object using an ID code having an message authentication code may acquire a seal or tape carrying the ID code and attach it to the material object. It is difficult, however, for him to manage also the key for verification of the message authentication code.
In the case where an ID code requires a high security, the ID code issue is required to be managed in a way to avoid duplication or the number of the same ID code is required to be managed. For this purpose, it is also necessary to manage the printing of the ID code on the material object or the seal or the writing of the ID code into a memory in an electronic tag.
The credit card ID code is an example in which the ID code issue is managed very safely in a way to avoid the duplication. However, like an ID code used for a credit card, the ID code given to a serving, a man to be subject to a service and a corporation, is simply information but not a substantive object as a material object. Therefore, there is fear that the ID code could be duplicated wickedly after issuing the card.